//
// C++ Interface: ucdefs
//
// Description: Parameters of microcontrollers.
//
//
// Author: Andrey Sharoyko <vanyamboe@gmail.com>, (C) 2012
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef UCDEFS_H_
#define UCDEFS_H_

#if defined(__AVR_ATmega48__) || defined(__AVR_ATmega48A__) || \
    defined(__AVR_ATmega48P__) || \
    defined(__AVR_ATmega88__) || defined(__AVR_ATmega88A__) || \
    defined(__AVR_ATmega88P__) || defined(__AVR_ATmega88PA__) || \
    defined(__AVR_ATmega168__) || defined(__AVR_ATmega168A__) || \
    defined(__AVR_ATmega168P__) || \
    defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__)

#define DUMP_ARDUINO

#define DUMP_FLASH_ADDR_LEN     4
#define DUMP_RAM_ADDR_LEN       3
#define DUMP_EEPROM_ADDR_LEN    3
#define DUMP_ADDR_TYPE          unsigned int
#define DUMP_REG_ADDR_TYPE      unsigned char

#elif defined(__AVR_ATmega640__) || \
      defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || \
      defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)

#define DUMP_MEGA

#define DUMP_FLASH_ADDR_LEN     5
#define DUMP_RAM_ADDR_LEN       4
#define DUMP_EEPROM_ADDR_LEN    4
#define DUMP_ADDR_TYPE          unsigned long
#define DUMP_REG_ADDR_TYPE      unsigned int

#endif

#endif /* UCDEFS_H_ */
